#include <memory>
#include <iostream>
#include <string>



using namespace std;

class Song
{
public:
	Song() : _author(""), _name(""){}
	Song(const string &author, const string &name):
	_author(author), _name(name)
	{

	}
	Song(const Song & s) = delete;
	void SetAuthor(const string &author)
	{
		_author = author;
	}
	~Song()
	{
		cout<<_author << "   " <<_name <<endl;
		cout<< "destroying" << endl;
	}
	string Str()
	{
		return _name + _author;
	}


private:
	string _author;
	string _name;
};


unique_ptr<Song> make_song(const string &author, const string &name)
{
	auto p = unique_ptr<Song>(new Song(author, name));
	return make_unique<Song>(author, name);
}



int main(int argc, char const *argv[])
{
	/* code */
	auto ptr = make_song("jinntao", "some");

	ptr->SetAuthor("linjintao");

	cout << ptr->Str() << endl;

	return 0;
}